package mirrormonkey.commons.graph;

import mirrormonkey.core.annotations.EntityHierarchy;
import mirrormonkey.core.annotations.NotifyLifecycleListeners;
import mirrormonkey.framework.entity.EntityData;
import mirrormonkey.framework.entity.SyncEntity;
import mirrormonkey.util.annotations.hfilter.ClassFilter;
import mirrormonkey.util.annotations.hfilter.ClassFilter.HierarchyType;

import com.jme3.math.Vector3f;
import com.jme3.scene.Geometry;
import com.jme3.scene.Mesh;
import com.jme3.scene.Spatial;

@EntityHierarchy
@NotifyLifecycleListeners(@ClassFilter(hierarchy = HierarchyType.HIERARCHY, classes = { Spatial.class }))
public class SyncGeometry extends Geometry implements SyncEntity {

	private EntityData data;

	protected SyncGeometry(String name, Mesh mesh, Vector3f localTranslation) {
		super(name, mesh);
		setLocalTranslation(localTranslation);
	}

	@Override
	public void setData(EntityData data) {
		this.data = data;
	}

	@Override
	public EntityData getData() {
		return data;
	}

}
